Multiview Video Coding (MVC) is an extension of the H.264/AVC video coding standard. It allows several video sequences having difference views of a scene to be encoded in a single bitstream including a base view and additional non-base views the may be coding dependent on the base view. There are also possible coding dependency relationships between the non-base views. After encoding, each view may be represented as an individual bitstream, or the individual view bitstreams may be merged together.
Inter-view prediction is an important compression technique in MVC. The different video sequences, taken at difference camera positions relative to a scene, often exhibit strong correlations between the views. Thus, when encoding an image frame or picture in a particular view, the picture in a base view and/or in other additional views may be used as inter-view reference pictures to improve coding efficiency. Further, an encoder may decide between using inter-view reference pictures or using temporal reference pictures from within the video sequence of the same view. In motion estimation, a two-dimensional (2D) motion vector (MV) of form MV (xp, yp) is first predicted and then other MVs are searched for within a particular range to identify a best MV (x, y) that minimizes the distortion between the current block and the reference block. The difference between MV (x, y) and MV (xp, yp) is then encoded as a residual signal.
In multiple view sequence, the projection of the same object on a difference views may be related to the corresponding camera positions. For example, parallel camera techniques are widely used because they simulate the human stereo vision system well. In parallel camera settings, the cameras may be aligned such that their positions differ substantially only in one dimension (e.g., along an x-axis). Thus, the positions of two projections of the same 3D space pixel onto two corresponding views may differ only in one dimension (e.g., in the x direction).